Operating System I/O Speculation: How Two Invocations Are Faster Than One
نویسندگان
چکیده
We present an in-kernel disk prefetcher which uses speculative execution to determine what data an application is likely to require in the near future. By placing our design within the operating system, we provide several benefits compared to the previous application-level design. Not only is our system easier to implement and deploy, but by handling page faults as well as traditional file-access methods we are able to apply speculative execution to swapping applications, which often spend the majority of their execution time fetching non-resident pages. We also present two new OS features that further improve the performance of speculative execution for applications that have large page tables and working sets. These are a fast method for synchronizing an errant speculative process with normal execution, and a modified form of copy-on-write which preserves application semantics without delaying normal execution. Finally, by leveraging OS knowledge about memory usage and contention, we design a mechanism for estimating and limiting the memory overhead of speculative executions. Our implementation for Linux 2.4.8 provides benefits of up to 60% for a wide range of explicit-I/O and swapping applications. Our results show that our support mechanisms for swapping applications provide significant performance benefits, and in some cases prevent speculative execution from hurting performance. We further demonstrate that our memory control mechanism effectively limits speculative overheads while allowing beneficial speculative executions to proceed un-
منابع مشابه
I/O Speculation for the Microsecond Era
Microsecond latencies and access times will soon dominate most datacenter I/O workloads, thanks to improvements in both storage and networking technologies. Current techniques for dealing with I/O latency are targeted for either very fast (nanosecond) or slow (millisecond) devices. These techniques are suboptimal for microsecond devices they either block the processor for tens of microseconds o...
متن کاملChapter 3 Chaos Arc : Real-time Objects and Atomicity for Multiprocessors 3.1 Reliability in Real-time Systems This Chapter Is Based on \chaos Arc : Kernel Support for Multi-weight Objects, Invocations, and Atomicity in Real-time Multiprocessor Applications,"
CHAOS arc is an object-based multiprocessor operating system kernel that provides primitives with which programmers may easily construct objects of diiering types and object invocations of diiering semantics, targeting multiprocessor systems and real-time applications. The CHAOS arc kernel can guarantee desired performance and functionality levels of selected computations in real-time applicati...
متن کاملSupporting Application-Specific Speculation with Competitive Parallel Execution
Parallel systems allow sequential programs that demand the highest possible performance or output quality to execute different versions of program parts in parallel to dynamically select the best version (i.e., the fastest or the one that produces the highest quality). The close coupling of multi-core systems offers new opportunities to explore such speculation. We discuss here how competitive ...
متن کاملSPsort: How to Sort a Terabyte Quickly
In December 1998, a 488 node IBM RS/6000 SP sorted a terabyte of data (10 billion 100 byte records) in 17 minutes, 37 seconds. This is more than 2.5 times faster than the previous record for a problem of this magnitude. The SPsort program itself was custom-designed for this benchmark, but the cluster, its interconnection hardware, disk subsystem, operating system, file system, communication lib...
متن کاملOn Benchmarking Popular File Systems
In recent years, Windows, Linux and BSD have become dominant operating systems in personal computers [1]. An essential component of the operating system is its file system. Although there are reports [2, 3] on evaluation of file systems under the same operating system, it is necessary to assess the performance of different file systems under their associated operating systems to help selecting ...
متن کامل